.fit-auto-resize {
    .el-switch__core {
        min-width: calc(var(--font-size) * 5);
        height: calc(var(--font-size) * 1.5);
        border-radius: calc(var(--font-size));
    }

    .el-switch__core .el-switch__action {
        width: calc(var(--font-size) * 1.5 - 2px);
        height: calc(var(--font-size) * 1.5 - 2px);
        left: 0;
    }

    .el-switch__inner {
        position: relative;
        padding: 0 0 0 calc(var(--font-size) * 1.5);
    }

    .el-switch__core .el-switch__inner .is-icon {
        font-size: calc(var(--font-size) - 3px);
    }

    .el-switch__core .el-switch__inner .is-text {
        font-size: calc(var(--font-size) - 3px);
        padding: 0 10px;
    }
}

.fit-auto-resize.el-switch.is-checked .el-switch__core .el-switch__action {
    left: calc(100% - var(--font-size) * 1.5 + 2px);
}

.fit-auto-resize.el-switch.is-checked .el-switch__core .el-switch__inner .is-icon,
.fit-auto-resize.el-switch.is-checked .el-switch__core .el-switch__inner .is-text {
    font-size: calc(var(--font-size) - 3px);
}

.fit-auto-resize.el-switch.is-checked .el-switch__core .el-switch__inner {
    padding: 0 calc(var(--font-size) * 1.5) 0 0;
}

.el-switch {
    --el-switch-on-color: rgb(0 125 255 / 60%);
    --el-switch-off-color: rgb(255 0 0 / 60%);
}

.el-switch.is-disabled .el-switch__core,
.el-switch.is-disabled .el-switch__label {
    cursor: default;
}